Some computers include a single peripheral port used for connection to an external peripheral device. The peripheral port is generally in the form of a female connector positioned on the backplane of the computer. The computer is interconnected with a peripheral device through a cable that includes a male connector including a number of connector pins. The female connector includes a corresponding number of pin receptacles.
Traditionally, peripheral ports have had dedicated functions. For example, many early computers included a peripheral port that was dedicated for parallel (a parallel port) connection to another device, such as a printer. Recently, computer makers have provided a dual-function peripheral port that affords the capability to use a single port for two different peripheral devices. For example, recent computers have used a dual-function peripheral port to serve as an external floppy disk drive port and as a parallel port. The necessity for dual function peripheral ports is largely driven by the expanding portable computer market. The small size of portable computers reduces the amount of space for peripheral ports. Therefore, disparate peripheral devices should be attachable to a single port with minimal user intervention.
Dual-function peripheral ports used in the past rely upon an external peripheral selection switch to designate whether the port is being used as a parallel port or as an external floppy disk drive port. When the computer is turned on or reset, the setting of the switch is sensed and then used by the central processing unit (CPU) of the computer to load the appropriate peripheral device driver program.
The external peripheral selection switch used in the aforementioned prior art devices is inconvenient to use: the computer operator must remember to set the switch, the switch may be jostled from its original position, and the computer must be re-booted each time the switch setting is changed. The switch also presents design constraints as the switch should be positioned in a location that is convenient for the user. Finally, external peripheral selection switches are relatively expensive to install.
For the foregoing reasons, it would be advantageous to eliminate the requirement of an external peripheral selection switch. It would also be advantageous to expand the utility of a dual-function peripheral port to a multi-functional peripheral port.
Multiple peripheral devices could conceivably be used at a single peripheral port if the peripheral device was identifiable. Of course, a multi-way external switch could be used to identify the connected peripheral device. However, the problems with such an external switch were described above.
One possible technique for eliminating the external configuration switch is to use cable pins to identify the peripheral device. In other words, two or more cable pins could be dedicated to conveying peripheral identification signals generated by a peripheral device. The host device would sense the peripheral identification signals and then would load the appropriate peripheral device driver program.
There are several problems associated with this approach. First, a decoding mechanism must be provided to identify the pin signals for the peripheral devices. Next, the decoding mechanism must accommodate the phenomenon that the pin signals from the peripheral devices will initially arrive at different times due to the mechanics of connecting a cable. Specifically, when a cable is physically connected to a port, some pins of the cable are likely to be inserted into the connector before others. This time difference, small by human standards, may be very large in a computer environment. Thus, a mechanism must be provided to account for connection delays, to insure that the proper peripheral identification signal is read.